package br.com.redefranciscanas.wiki.domain;

import javax.persistence.Column;
import javax.persistence.Entity;
import javax.persistence.EnumType;
import javax.persistence.Enumerated;
import javax.persistence.GeneratedValue;
import javax.persistence.Id;
import javax.persistence.NamedQueries;
import javax.persistence.NamedQuery;

import br.com.redefranciscanas.wiki.enumerado.NvlAcesso;

@Entity
@NamedQueries({ @NamedQuery(name = "Item.findAll", query = "SELECT i FROM Item i"),
    @NamedQuery(name = "Item.findById", query = "SELECT i FROM Item i WHERE i.id =:id"),
    @NamedQuery(name = "Item.findByIdTopico", query = "SELECT i FROM Item i WHERE i.idTopico =:idTopico"),
    @NamedQuery(name = "Item.findBynomeDoArquivo", query = "SELECT i FROM Item i WHERE i.nomeArquivo =:nomeDoArquivo")    
})
public class Item { 

	@Id
	@GeneratedValue
	@Column(name = "idItem")
	private Long id;
	private Long idTopico;
	private String nomeArquivo;
	private String tamanho;
	@Enumerated(EnumType.STRING)
	@Column(nullable = false)
	private NvlAcesso nvlAcesso;

	public Long getId() {
		return id;
	}

	public void setId(Long id) {
		this.id = id;
	}

	public Long getIdTopico() {
		return idTopico;
	}

	public void setIdTopico(Long idTopico) {
		this.idTopico = idTopico;
	}

	public String getNomeArquivo() {
		return nomeArquivo;
	}

	public void setNomeArquivo(String nomeArquivo) {
		this.nomeArquivo = nomeArquivo;
	}

	public String getTamanho() {
		return tamanho;
	}

	public void setTamanho(String tamanho) {
		this.tamanho = tamanho;
	}

	public NvlAcesso getNvlAcesso() {
		return nvlAcesso;
	}

	public void setNvlAcesso(NvlAcesso nvlAcesso) {
		this.nvlAcesso = nvlAcesso;
	}
}
